可扩展性和并行处理

您所在的位置:网站首页 spring batch 原理 可扩展性和并行处理

可扩展性和并行处理

2024-07-15 13:09| 来源: 网络整理| 查看: 265

远程分块

在远程分块中,Step 处理被分割到多个进程中,这些进程通过一些中间件相互通信。下图显示了这种模式:

Figure 1. 远程分块

manager 组件是一个进程,而 worker 是多个远程进程。如果 manager 不是瓶颈,那么这种模式的效果最好,因此处理的成本必须高于读取 item 的成本(实际情况往往如此)。

manager 是 Spring Batch Step 的一个实现,其中的 ItemWriter 被一个泛型版本取代,该版本知道如何将 item 块作为消息发送到中间件。Worker 是所使用中间件的标准 listener(例如,对于 JMS,它们是 MesssageListener 实现),其作用是通过 ChunkProcessor 接口,使用标准 ItemWriter 或 ItemProcessor 加上 ItemWriter 来处理 item 块。使用这种模式的好处之一是,reader、processor 和 writer 组件都是现成的(与本地执行 step 时使用的组件相同)。item 是动态划分的,工作是通过中间件分担的,因此,如果 listener 都是急切的消费者,负载平衡就会自动实现。

中间件必须是持久的,能够保证交付,并且每条信息只有一个消费者。JMS 显然是最佳选择,但网格计算和共享内存产品领域也有其他选择(如 JavaSpaces)。

详见 Spring Batch 集成 - 远程分块 部分。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3